The present invention relates to the field of data processing. Particularly, this invention relates to a realtime graphical overlay that provides visual scrolling feedback for a display window that offers a view into a presentation space or a viewport. The graphical feedback overlay is transient and provides direct visual guidance to the user about new areas being exposed to view by the scrolling action. The feedback overlay fades from view within a predetermined or programmable period of time, or when the scrolling action is stopped. The feedback overlay substantially enhances the user""s ability to maintain spatial context while the document is being scrolled, reducing error and strain, and enhancing ease of use and productivity.
In the early days of the personal computer, browsing a document was difficult to do. The document would often take up several screens worth of information, and it was difficult for the user to find specific sections of the document. The user would often have to scroll through an entire document one screen at a time, by pressing function keys assigned to xe2x80x9cscroll upxe2x80x9d and xe2x80x9cscroll downxe2x80x9d functions in an often futile attempt to find a specific section. This was slow and cumbersome, and resulted in many users printing the entire document instead of trying to view it on the display. This constituted a significant waste of valuable manpower and natural resources.
The advent of the xe2x80x9cgraphical user interfacexe2x80x9d (GUI) programs ushered an optimistic outlook to addressing the above problem. Scrolling the content in a GUI window is one of the most frequent tasks in interacting with today""s computers. The content of the GUI window scrolled, also referred to herein as xe2x80x9cdocument,xe2x80x9d can be a file directory, a word processing file, a computer program source code, a spreadsheet, a two-dimensional map or image, an engineering drawing, a world wide web page, and so forth.
Traditionally, there are three ways to scroll through a document. One is by pressing on the cursor keys in the computer board. The second is by pressing the xe2x80x9cpage upxe2x80x9d and xe2x80x9cpage downxe2x80x9d keys. The third is a feature of the GUI programs and is referred to as a xe2x80x9cscroll barxe2x80x9d. The scroll bar is commonly associated with a display window, and is most useful when only a small portion of a document can be displayed in a display window at any one time. The scroll bar contains what is known as a xe2x80x9csliderxe2x80x9d. The slider""s relative position in the scroll bar graphically indicates the position of the display window relative to the entire document being displayed. One scroll bar is often used to indicate the relative vertical position, while another scroll bar can be used to indicate the relative horizontal position.
A scroll bar is normally used in conjunction with an input device such as a mouse, track ball, or light pen. When a user wants to move to a different section of a document, he or she can either move the mouse cursor to a new position on the scroll bar (click operation), or place the mouse cursor on the slider, press and hold one of the mouse buttons, and move the mouse cursor either one side or the other of the slider (drag operation). While both of these operations are helpful in rapidly moving from one section of a document to another section, they do not sufficiently help the user to find the specific section of the document he or she is looking for.
A standard technique often used in representing scroll bars is to make the slider on the scroll bar of proportional length, representing the portion of the full document which is in view. This places the viewed section in context with respect to the entire document, but does not directly relate to the newly exposed document portion after a scrolling action. If the document is very large relative to the portion currently being viewed in the window (e.g., as in a very long galley of text, or at high magnification of a two-dimensional image), the size of the slider becomes too small to interpret or use.
Another technique is described in U.S. Pat. No. 5,532,715 to Bates et al., titled xe2x80x9cVisually Aging Scroll Barxe2x80x9d, where a visually aging scroll bar is associated with a window or viewport on a computer display, and contains a slider to indicate relative positioning in the window of a document. After a first predetermined sampling period has elapsed, a first region matching the current position of the scroll bar slider is created. The visual appearance of the region is determined by a predetermined region heating rate. For example, a newly created region starts at xe2x80x9ccoldxe2x80x9d, which can be indicated by a violet-indigo color. After a second sampling period has elapsed, the computer system again checks the current position of the scroll bar slider. If the current position still matches the first region, the visual appearance of the first region symbolically xe2x80x9cwarms upxe2x80x9d as indicated by the region heating rate. This incrementally changing visual appearance continues for as long as the current slider position matches the first region, up until a maximum region symbolic xe2x80x9ctemperaturexe2x80x9d is reached.
Some techniques adopt an input device that offers a dedicated scrolling mechanism to enhance the operation of the scroll bar, by making it easier for a user to find a specific section he or she is looking. One such scrolling mechanism is the ScrollPoint(copyright) stick which is incorporated in the IBM ScrollPoint(copyright) mouse. Another mechanism is a scroll wheel described in U.S. Pat. No. 5,530,455 to Gillick et al. and titled xe2x80x9cRoller Mouse for Implementing Scrolling in Windows Applicationsxe2x80x9d. Another scrolling mechanism is IBM""s TrackPoint(copyright) that includes a button, which, when pressed, enables scrolling in IBM""s Thinkpad(copyright) TrackPoint(copyright) notebook computers. Yet another mechanism is the touchpad where scroll areas are used for examples in notebook and keyboards.
The relative input control performance of the above scrolling mechanisms has been studied in Zhai, S., Smith, B. A., Selker, T., xe2x80x9cImproving Browsing Performance: A Study of Four Input Devices for Scrolling and Pointing Tasks,xe2x80x9d Proceedings of INTERACT: the Sixth IFIP conference on Human Computer Interaction, pages 286-292 (1997). While these scrolling mechanisms may have realized their intended purposes, scrolling through documents is often confusing and causes a loss of context for the user, regardless of the input devices used, particularly since conventional scrolling mechanisms do not offer spatial clues or visual scrolling feedback, especially if the document consists of visually similar sections of material such as a continuous text.
For example, when using a page up or page down key, many applications scroll by one window length of document, so that the user can expect where the last read sentence should appear after the operation. A common frustrating experience with page keys, however, occurs when the user reaches the end of the document, where the remaining document is arbitrary in relation to a window""s length which depends on the user""s setting and resizing. The remaining document is scrolled into the window, but the user has to search through the document to locate the last read sentence.
The lack of visual scrolling feedback is evident in both one-dimension, such as when scrolling through long galleys of material (i.e., web pages), and in two-dimensions, such as when panning or zooming through maps and engineering drawings. It is aggravated on small-display devices, such as handheld devices, where loss of context requires extensive mental effort, eye motion and time to re-acquire the context, reducing productivity and increasing the user""s strain and fatigue level.
In most conventional GUI software applications xe2x80x9cwindowingxe2x80x9d occurs when the user""s physical scrolling action causes the viewing window to xe2x80x9cmovexe2x80x9d in the same direction. However, the viewing window does not actually move in relation to the computer physical monitor or the user""s body. What moves is the document although in the opposite direction to the user""s input. Reference is made to Bury, K. F., Boyle, J. M., Evey, R. J., and Neal, A. S., 1982, xe2x80x9cWindowing vs Scrolling on a Visual Display Terminalxe2x80x9d, Proceedings of Conference on Human Factors in Computer Systems, pages 41-44 (1982).
Another scrolling input technique which is more direct in perception-motor correspondence is the xe2x80x9cgrabber hand,xe2x80x9d according to which a pointing cursor is transformed into a hand symbol that xe2x80x9cgrabsxe2x80x9d the underlying document. Moving the cursor drags the document in direct correspondence to the movement of the cursor. Though this motion is intuitive, scrolling is limited to movements that are a fraction of a screen size, and it becomes tedious if a large, multi-screen movement is desired. It also cannot be used for smooth, continuous scrolling.
Certain applications, such as the Lotus Notes(trademark) client application uses a xe2x80x9cticxe2x80x9d mark in the margin to mark the boundary of the newly exposed text when scrolling documents. This approach requires eye motion to find the mark and then to use the mark to re-acquire the reader""s position in the text. Other software applications, such as Microsoft(copyright) Word(trademark), displays a box of text with the page number and headings of the document when the user clicks and drag the slider in the scrollbar. While this may provide useful information, the information is not directly integrated with the context of the document. The granularity of the information feedback is also low as it is limited to page numbers and headings, and does not provide the user with a direct and continuous visual feedback that overlays the scrolled image and that corresponds exactly to the scrolling action.
Other graphic applications show a thumbnail view of the page being, which is effectively a two-dimensional version of proportional scrollbars. While this technique helps with two-dimensional scrolling, it is not very useful where the visual landmarks in the document disappear at the scale of the thumbnail image, or where the aspect ratio of the document is large (i.e., much longer than wide).
One GUI application uses semi-transparent graphics as a user interface, and is described for example in the following publications: Bier, E. A., M. C. Stone, Buxton, W., Baudel, T., xe2x80x9cA Taxonomy of See-Through Tools,xe2x80x9d CHI ""94 Conference Proceedings, pages 358-364 (1994); Zhai, S., Buxton, W., Milgram, P., xe2x80x9cThe xe2x80x9cSilk Cursorxe2x80x9d: Investigating Transparency for 3D Target Acquisition,xe2x80x9d CHI ""94: Conference Proceedings (1994); Zhai, S., Buxton, B., Milgram, P., xe2x80x9cThe Partial Occlusion Effect: Utilizing Semi-transparency in 3D Human Computer Interaction,xe2x80x9d ACM Transactions on Computer-Human Interaction 3(3), pages 254-284 (1996); Harrison, B. and K. Vicente, J., xe2x80x9cAn Experimental Evaluation of Transparent Menu Usage,xe2x80x9d ACM CHI 96: Human Factors in Computing Systems, pages 391-398 (1996); and Hinckley, K., Sinclair, M., xe2x80x9cTouch-Sensitive Input Device,xe2x80x9d CHI 99: ACM Conference in Human Factors in Computing Systems, pages 223-230 (1999).
However, none of these references directly associates a transient semi-transparent visual feedback layer with the scrolling action in a display window, for providing direct visual guidance to the user about new areas being exposed to view, such that the feedback layer fades from view so that it does not affect the legibility or permanent appearance of the source image.
In accordance with the present invention, a software package is provided as a new technique that provides realtime visual feedback to the user while scrolling in windowing environments. This technique is accomplished by a transient overlay that provides direct visual cues or guidance to the user about the new areas of the scrolled document that have been exposed to view by the scrolling action. After a predetermined period of time such as a fraction of a second, or as soon as the user stops scrolling, the overlay fades from view. This feedback substantially enhances the user""s ability to maintain spatial context while the document moves, reducing error and strain, and enhancing ease of use and productivity.
One feature of the present visual scrolling feedback technique is its ability to be used for both one-dimensional scrolling documents such as long galleys of text, and multi-dimensional scrolling, panning, and zooming out of documents such as maps and technical drawings. The visual scrolling feedback technique is well suited for two dimensional scrolling and at arbitrary angles other than horizontal or vertical, and is particularly suited for small displays such as handheld devices.
The technique of the present invention provides the user with temporary visual feedback in a form which is not distracting, which is directly embedded in the document itself, which does not obscure the source material, and which conforms to an intuitively understood and adapted physical process, thus requiring no prior training. As the user moves the document through the GUI window, by for example scrolling, panning or zooming, the newly exposed portions xe2x80x9cdevelopxe2x80x9d or are transformed from a muted state (e.g., lower contrast, painted with semi-transparent overlay color or pattern, or distinguished by some image transformation such as a shift in hue or color balance) to a normal contrast and brightness state in a second or two after the user stops scrolling. Many combinations of overlay color, pattern and image transformations are possible, depending on the nature of the document being viewed.
As new pointing and scroll control devices are becoming available, the user""s ability to smoothly scroll at high speed may exceed his or her ability to maintain visual context. The present visual scrolling feedback technique reduces the user""s effort significantly, and improves the user""s scrolling speed without losing position context. Some important aspects of the present technique include:
Superimposing graphical overlay information, represented by a visual feedback layer on a document, helps the user track scrolling movement. The graphical information is transient, and fades away after the user stops scrolling. The graphical overlay information can be an outline or semi-transparent by means of standard image combination (xe2x80x9ccompositingxe2x80x9d) techniques with the base document, such as alpha-blending, or image multiplication.
The graphical overlay information may include a periodic, spatially-repetitive pattern or color. The period of the pattern can be selected to perform various functions: to the size of the window to convey how far the user has scrolled by the number of pattern cells that have passed; to a size appropriate to the document, e.g., to a page size for text documents; or to a scale appropriate to the underlying data, e.g., to a map scale.